The high-level architecture for large-scale data networks has reached a consensus that is not likely to change for the predictable future. The architecture has evolved from forwarding messages and files from one computer to another to a full-blown structure that can carry all types of data traffic globally from any source to any destination. Now that the architecture is agreed upon and implemented in more than one embodiment (e .g., ATM and MPLS), there is a need to find new methods and apparatus to transfer bits reliably with low latency at data rates much greater than currently exist. This application discloses a plurality of methods and apparatus that meets these goals while focusing on simplicity, low cost, and low power consumption.
Starting in the early 1970s, there were two main approaches to applying digital technology to overcome the limitations of analog telephony and telegraphy. One was to build a digital telephone network focused on higher quality digitized voice; the other was to build a digital data network based on store and forward packet switching (P-Switching) with emphasis on reliability at the expense of quality. Packet P-Switching has prevailed because of its flexibility and the huge investment made to improve quality while maintaining flexibility compared to the voice network. The digitized voice effort is approaching obsolescence while the packet P-Switching approach has some serious limitations based on architectural and implementation decisions made long ago.
Four basic methodologies of networks need fundamental review to redefine future networks' capabilities compared to the current networking environment. These are: Data encapsulation methods, Data P-Switching methods, Packet buffering methods, and Traffic routing methods.
The first aspect, data encapsulation, describes methods of fragmenting data into elements transferable from one point to another in a shared container. Sources can be computers, telephones, cameras, microphones, sensors, or other devices as long as they are in digital form.
Data encapsulation is very restrictive in digital voice networks. These digital voice networks are based on “octets” in a digital time division multiplex hierarchy. As implemented, these networks have limited capability to handle data traffic as proven by the telephone company voice-centric networks that exist. Data-centric networks evolved separated from the voice network. These data-centric networks typically encapsulate data into packets. Packet multiplexing adds information to each source data fragment that identifies source and destination locations plus other information. The added information may include service class, data format details, error detection and correction, and other purposes such as network control. In other words, encapsulation involves adding “headers,” “options,” “error control,” and other parameters. Data encapsulation extends to protocol “layers” as a part of packet protocols' standardization methods. Each layer has a name (e.g., Link, Network, Transport, etc.). This can require additional headers and other information. Including protocol layers within a network generally results in longer packets. As a result, these layers often use substantial overhead bandwidth beyond that necessary to transport data.
Data encapsulation using these headers is a necessity in packet-based networks; but the method creates several difficulties. One is the bandwidth needed by the required packet overhead. Another is the delay required to fill a packet buffer with bits from relatively low data rate sources such as digitized voice. The process of encapsulating voice requires tens of milliseconds to overcome the even greater header bandwidth that would be required to send shorter voice packets. In addition, packet buffers within routers are needed to smooth traffic that can result in delay variation and jitter. Still another difficulty is that even a single bit error in a packet header can cause faulty delivery and/or discard of packets. The consequence is interruption of service and data loss that causes delay in addition to requiring substantial processing within routers to re-forward discarded packets. This application discloses methods of overcoming these restrictions.
A second aspect, C-Switch (C-Switch) methods, is quite simple in the voice network, but its encapsulation methods limit use of the network for data. In the data network, using asynchronous P-Switching methods to forward packets from one destination to another was a breakthrough for assuring message delivery with statistical time division multiplexing (as long as substantial overprovisioning of bandwidth is present). The methods assure delivery from a source to a destination in a network with faulty transmission facilities or under hazardous operational conditions. They also assure more efficient use of available bandwidth than exists with static time division multiplexing. However, the circumstances that were common forty years ago are no longer very common today. Comparing statistical multiplexing with static time division multiplexing is a popular way to “prove” the benefits of packet over circuit C-Switching. This overlooks the prospect that time division multiplexing can be extremely dynamic if properly designed. These designs are shown in the present application.
In the past, time division multiplexing was limited in several ways. One was a perceived restriction to integer division of a high data rate link into a plurality of smaller data rate links. Another was that a connection set up as a circuit remained connected for the duration of a telephone call; no mechanism existed to restrict a circuit epoch to milliseconds, microseconds, or nanoseconds necessary for handling bursty data. Third, no methods existed to rapidly change the bandwidth allocated to a connection, a mandatory requirement to achieve efficient use of available bandwidth for multimedia and video applications.
Placing data into “packets” emerged as a part of the solution to overcome the limitations of “one-off” systems such as the telephone network. Data packets will continue to be a great invention for the predictable future. The Internet Protocol has indeed become the lingua franca for all user communications. In this context, using the slogan “IP everywhere” to refer to the network edge is a great idea. Whether it should apply to network internals for the future is highly questionable. The objective of this application is to provide the next generation with an internal network for the IP-centric Internet and other networks that overcomes the shortcomings of current practice.
There is no law of nature demanding that the random (i.e., stochastic) nature of user data arrivals require stochastic network solutions. The complexity of overcoming the stochastic properties of asynchronous packet networks with extensive overlays is sufficient evidence of the need for another solution. This disclosure provides methods to reduce network complexity and improve C-Switching performance.
The third aspect of current networking is the placement of packet buffers within today's networks. When the Internet was first invented (as the ARPANET within the U.S. Department of Defense), the smallest computers in service were minicomputers. Microcomputers did not exist in commercial use with substantial processing power. Commercial input/output devices were terminals that had no significant processor or storage capability. The best possible methods at the time for dealing with “bursty” data was to accept all data on arrival within the minicomputers when there was not enough communication bandwidth to send it as it arrives. The initial answer, like message switching store and forward processors, was to store data within internal First-In-First-Out (FIFO) buffers. If the buffers were too small to hold all the incoming traffic, discarding packets selectively became a method of choice for solving congestion problems. Cost was the primary driving parameter to this result. Computer data storage was very expensive. As computer data storage has become very inexpensive, packet buffers have also grown.
Internal network buffers exacerbate the stochastic nature of current networks and greatly increase network complexity, jitter, delay, packet loss rates, and cost. The side effects include requiring traffic shaping and policing a customer's use of bandwidth. Internal network buffers are often the culprits of poor service. When traffic intensity is high, they suffer from congestion when there is more traffic than a router or outgoing links can handle. Discarding packets as a remedy requires data sources to resend the lost packets. This only intensifies the traffic when traffic intensity was the cause of the congestion in the first place. Today, large computer storage units—semiconductor as well as hard drives—are cheap. They can exist at ingress ports without discarding packets. Even so, the original approaches to congestion still prevail in current network architectures. Certainly, it is hard to argue that inside-the-network buffers enhance Quality of Service or performance; they merely result in stochastic “best efforts” service with unpredictable performance. These buffering problems have recently been termed “buffer bloat” and identified as causes for network delay and causes for some high latency. Question: “Are we still using the same methods because ‘that's the way we've always done it’, or are there real operational and cost reasons that require placing buffers inside the data transport portion of networks?” The deficiencies and delays of current networks can be improved by the methods provided in this disclosure.
The fourth aspect of both packet- and circuit-switched networks is their focus on dynamic routing of connections. Packet-switched networks focus on interconnecting “autonomous systems” through border gateways in a predominantly flat network. Circuit-switched (voice) networks focus on large (Class 4 and Class 5) C-Switch in what was originally a five-tier hierarchy that narrowed down over time to just two tiers. Network architectures have demanded the use of dynamic routing of connections. There has been no simple alternative to overcome the so-called n-squared problem of connecting hundreds of million (and now rising toward hundreds of billions) of connectable entities with one another. [If n is the number of connectable entities, there must be n−1 connections available to allow each entity to connect to every other entity. The required number of connections is n×(n−1) that is, for large values of n, close to “n-squared,” a well-known source of network routing problems.] General background for this disclosure includes U.S. Pat. Nos. 5,502,723 and 6,041,050 relating to Synchronized Adaptive Infrastructure (SAIN) networks issued to the application's inventor. This application incorporates these patents in their entirety by reference. The patents describe apparatus and multiplexing methods with unique capabilities that establish communications channels within a transmission link quickly. Unlike other known capabilities, the approach enables fast connection setup and release plus quickly changing the bandwidth of connections as well.
There is a need in the art for techniques to switch and send data in an underlayer structure that focuses on overcoming the current art limitations listed above in the four aspects along with other aspects of networking.